一种多移动路由器的移动网络组播方法。有MR的状态转换步骤,有构建与组播传输有关三种状态的步骤,实现了多MR移动子网的组播服务。通过MR之间的交互协作,实现BT和RS的优化组合。本发明的有益效果具体如下:提供了一种在多MR移动网络情况下移动组播实施方案。该方案结合基本的移动组播实现技术,充分利用了BT和RS方法的优点,结合快速移动IP思想,实现了无缝的移动组播切换,能够为了基于移动网络技术的应用提供高性能的组播传输机制,能够在列车、城铁、公交车、飞机等移动子网中提供良好的组播支持。1、一种多移动路由器的移动网络组播方法,其特征在于包括如下步 骤: 步骤1:移动路由器MR1通过隧道转发组播数据; 步骤2:移动路由器MR2不断的扫描新接入点AP,接入到新的接入路由器 AR上; 步骤3:接入到新的接入路由器AR后,移动路由器MR2向移动路由器MR1 发送一个组播侦听发现MLD更新消息,请求获取移动路由器MR1上状态为双 向隧道BT态的组播组信息; 步骤4:移动路由器MR1收到组播侦听发现MLD更新消息后,回复一个组 播侦听发现MLD更新回复消息,该组播侦听发现MLD更新回复消息包含移动 路由器MR1上所有状态为双向隧道BT态的组播组信息; 步骤5:移动路由器MR2收到组播侦听发现MLD更新回复消息后,聚合其 组成员信息库中的信息,然后向新接入路由器AR发起组播加入过程; 步骤6:若移动路由器MR2获取到某一组播数据,向移动路由器MR1发送 组转发更新消息,否则,返回步骤2;若移动路由器MR1收到该消息则回复移 动路由器MR2组转发回复消息,移动路由器MR2代替移动路由器MR1转发组 播数据,转入步骤7,否则,返回步骤1; 步骤7:移动路由器MR2在新接入路由器AR上通过远程加入RS方式传输 组播数据,并且同时监控其接入路由器AR是否发生变化,若发生变化则转到 步骤8; 步骤8:返回步骤1,并用移动路由器MR1替换步骤1至步骤7中的移动路 由器MR2,用移动路由器MR2替换步骤1至步骤7中的移动路由器MR1。 2、根据权利要求1所述的一种多移动路由器的移动网络组播方法,其特 征在于:移动路由器在移动过程中前后两个不同的接入点之间引入短隧道技 术减少组播的丢包率。 3、根据权利要求1所述的一种多移动路由器的移动网络组播方法,其特 征在于:将所述组播侦听发现MLD更新消息封装在单播数据包里发送;将所 述组转发更新消息用IP包封装发送。 技术领域 本发明涉及一种多移动路由器的移动网络组播方法,属于网络技术领域。 背景技术 组播作为一种有效利用带宽资源的网络技术自出现以来一直是研究的热点 问题之一。组播的目的是提供一种有效的组通信方式,发送者无需知道具体的组 成员就可以发送组播数据,接收者无须知道组播源就可以接收数据。组成员是开 放的,每个节点都可以随时加入或离开组。组播技术的应用能减收固定网络中重 复数据的传送,提高网络资源的利用率。组播技术和单播路由都属于第三层技术, 它们的区别是单播只是往一个接口转发,组播是向一组接口转发。组播最初的设 计只是针对固定节点,没有考虑移动性的组成员。随着移动IP、移动子网(NEMO) 等技术的出现,移动组播技术进入人们的视野并逐渐成为了一个研究的热点,一 些移动组播方案相继被提出。 移动组播方案可以分为四类:一是基于双向隧道(BT)的方案;二是基于远程 加入(RS)的方案;三是结合BT和RS的组播代理方案;四是基于上层协议的方 案。基于BT的移动组播方案利用移动IP技术构建的隧道传播组播相关的信息如 IGMP/MLD消息等。在MN移动过程中,不需要重构组播转发树,不需要外地 网络支持组播服务。但是,隧道方式利用单播封装组播包,存在延时和开销较大、 路由不优化等问题,降低了组播的效率。基于RS方式的移动组播方案是指MN 移动到外地后,直接向外地网络发送组播加入消息,重新加入到组播组。此类方 案能够提供优化的组播路由,但需要重构组播转发树,尤其是当MN移动速度过 快时,频繁重构会造成开销过大,组播数据包丢失严重等问题。组播代理方案是 在BT和RS之间折中,采用不同的算法在MN的移动路线上选出组播代理节点, 利用组播代理为MN转发组播数据,减少BT方式中隧道的长度和RS方式中组 播树的重构次数。这类方案目前研究的比较多,组播性能比较好,但是关于组播 代理的选择算法和维护增加了部署移动组播的难度。最后一类基于上层协议的方 案主要是指在IP层之上提供移动组播服务,这类方案的实质是利用单播实现组 播,已经脱离了组播协议的设计初衷,但其易于实际的部署,并且能够提供类似 于组播的服务。但是,当组用户或组播组较多时,重复数据的传输会造成网络带 宽利用率低下并有可能引发网络拥塞等问题。 总的来说,目前移动组播方案主要面向移动终端,关于移动网络(或称之为移 动子网)的组播技术相对而言比较少。 移动子网是指一个作为整体动态的改变它的Internet接入点的网络,如个域网 (PANs)、部署在车辆中的无线传感器网络(WSN)、公共运输工具(如公交车、火车、 飞机等)上部署的接入网络以及通过移动路由器(MR)连接到Internet的Adxa0hoc网 络等。移动子网是在移动IP的基础上发展而来的,目前主要研究路由优化、多 层嵌套NEMO、多家乡等问题。路由优化是由于移动网络在移动时不改变内部节 点的物理接入点,而只改变其全局拓扑位置引起的。当移动网络接入到另外一个 移动网络时形成嵌套网络,嵌套网络和当前接入的移动网都具有各自的家乡代 理,数据包传输将经过多层隧道封装,其传输效率低,路径不优化。多家乡指的 是移动路由器有多个外出接口,或者移动子网有多个MR或家乡代理(HA),或者 移动子网有多个全局前缀,可用三元组(x,y,z)来表示NEMO的多家乡情形,其中 x表示MR的数目,y表示HA的数据,z表示移动网络前缀的数目(x、y、z有 两个值:1或者n)。实际应用中如在列车、地铁、汽车上提供信息服务,移动网 络不可能单靠一种接入网络而实现连续接入,需要多种接入网络共同存在以提供 普适的接入,并且移动网络可能通过多个ISP获取服务,每个ISP都会为移动网 络提供不同的网络前缀。MR将这些接入方式进行分类,移动网络内部的节点根 据自己的特点,综合QoS、成本和安全等因素合理选择接入方式。同时,为了提 高移动网络服务的鲁棒性,在一个移动子网内可同时存在多个MR。采用NEMO 基本支持协议,需要在HA和MR之间为每一个(HA,CoA)对构建一个双向隧道。 本发明针对多家乡移动子网中的多个MR情况,提出了一种无缝移动子网 组播支持方案。 现有技术一的技术方案; C.Janneteau等提出MLD-Proxy方案实现移动网络组播。该方案在移动路 由器MR和外地网络之间采用MLD协议,而在移动网络内部使用MLD-Proxy 进行组播信息的交互。该方案在移动子网内不需要组播路由协议的支持且与外地 网络上运行的具体组播路由协议无关。MLD-Proxy方案以移动路由器MR为根, 并在移动网络内部选出一部分固定路由器作为MLD代理,构建组播转发结构传 输组播相关信息。其配置过程如下:首先,选择运行MLD-Proxy功能的路由器; 其次,指定每个MLD-Proxy设备上的上下游接口,在上游接口上运行MLD协议 的主机部分,而在下游接口运行MLD协议的路由器部分。通过配置在移动网络 内部构建一个树形的转发结构。 如图1所示,移动网络内有四个固定路由器(简记为FR,Fixedxa0Router),一个 移动路由器MR,其网络拓扑如图所示。选取MR、FR1、FR2和FR4执行MLD 代理功能,并配置其上下游接口。这样,就可以在移动子网内部仅通过MLD协 议加入到组播组中获取组播数据。每个代理设备维护一个成员数据库,其记录格 式如下: (Multicastxa0address,filterxa0mode,sourcexa0list) 当代理设备从下游接口收到MLD消息加入到指定组播组时,它将该信息与 现有的信息进行比较,将同一个组播组的信息融合成一条记录,添加到成员数据 库中,并往上游接口转发。MR在收到这些数据后,将通过MR-HA的双向隧道 发送组播加入消息,并通过该隧道接收组播数据。MR获得组播数据后,基于预 先配置好的树形结构进行转发。 现有技术一的缺点 1、没有详细说明组播树的构建算法; 2、缺少对多个MR的支持; 3、在MR和HA之间采用双向隧道方式开销大,带宽利用率低。 现有技术二的技术方案; Kiyong等提出了一种适用于嵌套移动网络的动态组播树构建方法来支持移动 网络组播,试图解决NEMO组播存在着路由优化、pinball路由等方面的问题。 该方案假设:MR支持组播,可以加入组播组,接收组播数据;NEMO支持 前缀代理机制(Prefixxa0Delegation,简称PD),使得发生网络嵌套时可以将隧道直接 构建到MR的转交地址CoA上;MR能够和固定组播路由器构建或重构组播隧 道。 该方案对路由器通告(Routerxa0Advertisement,RA)进行了扩展。在RA上扩展了 一个S字段的标识位,表示发送该RA消息的位置。S位存在则表明该RA来自 MR,否则来自AR。为了携带组播路由器信息,在RA选项中增加一个默认路由 器信息选项(Defaultxa0Multicastxa0Routerxa0Information,DmRI),用于携带组播路由器的 地址信息。该信息可以写在AR的配置文件里,插入到RA消息中通告出去。MR 将DmR信息记录在它的缓存中,并检查RA消息是否存在S位。 该方案的操作流程如图2所示: MR一旦检测到RA消息中含有默认路由器信息DmRI,它就将其记录到缓存 中。MR收到IGMP组加入消息时,它就构建到DmR的组播路由树。如果RA 来自AR,则构建到DmR的组播隧道;如果RA来自上层MR即RA还有S位, 则就构建到上层MR的组播隧道;如果既没有S位也没有DmRI,说明当前网络 不支持组播。 当移动子网移动到另外一个含有DmR信息或上层MR的网络时,它需要快 速重构与DmR的组播隧道。MR检测RA消息内容,如果RA不包含DmRI信 息,则通过当前接入网络的MR获取组播数据;如果RA包含DmRI和S位信息, 则MR就重构它与上层MR的组播隧道,并用新的DmR代替旧的DmR;如果 RA只包含DmR信息,则MR就同新的DmR构建组播隧道。 该方案在一定程度上解决了组播数据的Pinball路由问题,减少了对HA和 MR之间隧道的使用,减少了组播树的重构时延。 现有技术二的缺点 1、该方案要求移动路由器MR支持组播协议,增加了MR的负载; 2、没有对多个MR的情况进行分析; 3、完全通过组播隧道传输,当存在多个组播组时需要构建多条组播隧道, 开销较大。 发明内容 为了克服上述现有技术的不足,本发明提供一种多移动路由器的移动网络组 播方法,旨在为移动网络提供无缝的移动组播服务支持。 本发明解决技术问题所采用的技术方案是:一种多移动路由器的移动网络组 播方法。有MR的状态转换步骤,有构建与组播传输有关三种状态的步骤,实现 了多MR移动子网的组播服务。通过MR之间的交互协作,实现BT和RS的优 化组合。 一种多移动路由器的移动网络组播方法,包括如下步骤; 步骤1:MR2将不断的扫描新AP,接入到新的AR上; 步骤2:接到新AR后,MR2会向MR1发送一个MLD更新消息,请求获取 MR1上状态为BT态的组播组信息; 步骤3:MR1收到后,回复一个MLD更新回复消息,包含MR1上所有状态 为BT态的组播组信息; 步骤4:MR2收到回复信息后,聚合其组成员信息库中的信息,然后向新AR 发起组播加入过程; 步骤5:MR2获取到某一组播数据后,将向MR1发送组更新消息,若MR1 收到该消息则回复MR2组更新回复消息,并重定向接口到MR2;否则MR1仍 通过隧道传输组数据; 步骤6:MR2在新AR上通过RS方式传输组播数据,并同时开展两方面的工 作,一是监控其接入AR是否发生变化,若发生变化则通过PCoA-NCoA隧道转 发组播包,二是检查是否收到MLD更新消息和组更新消息; 步骤7:MR1将扫描新的AR,执行同MR2相同的过程,由此一直循环执行。 本发明使用的前提条件如下: ●移动网络支持NEMO基本支持协议; ●移动子网内同时存在多个MR; ●多MR中同时至少有一个能够接入服务; ●MR之间能相互通信,并且共享移动子网内的组播成员信息; 本发明的有益效果具体如下:提供了一种在多MR移动网络情况下移动组播 实施方案。该方案结合基本的移动组播实现技术,充分利用了BT和RS方法的 优点,结合快速移动IP思想,实现了无缝的移动组播切换,能够为了基于移动 网络技术的应用提供高性能的组播传输机制,能够在列车、城铁、公交车、飞机 等移动子网中提供良好的组播支持。 附图说明 图1MLD-Proxying方式的移动网络内部组播方案; 图2动态组播隧道方案; 图3移动网络组播应用场景; 图4MR状态转换图; 图5各个组播实体交互图; 图6两个MR的状态转换图; 图7多MR移动子网组播工作流程。 具体实施方式 本方案实施的应用场景如图3所示,移动网络可以是列车、公交车等,嵌套 移动子网可以是PAN等。 当移动子网第一次离开家乡网络时,通过HA和MR1之间BT传输组播数据。 MR2从MR1处获取组播成员信息,并在外地网络加入到组播组中获取组播数据。 当MR2获得组播数据后,将从MR1处获取组播转发信息,代替MR1转发组播 数据到移动子网内部,MR1停止从隧道接收相应的组播数据,但保留组成员信 息和组播转发信息。对那些MR2没能收到组播数据的组则继续通过隧道转发数 据。 当移动子网再次移动时,MR1将不断检测新的接入点,并从MR2处更新组 成员信息,加入到相应得组播组。当MR1获取到组播数据后,将从MR2处更新 组播转发信息,代替MR2转发组播数据。 当转发组播数据的MR1并将要离开当前AR时,还未收到MR2的更新组播 转发消息,MR1将在当前AR缓存组播数据,并通过扩展NEMO协议获取MR1 的新CoA地址,建立NCoA和PCoA之间的组播隧道,通过隧道转发组播数据 (将该AR作为一个Localxa0HA看待)。 MR的状态; 移动子网内的MR在传输组播数据时有两种状态,一是隧道传输状态(简称 BT态),组播数据通过隧道传输;二是RS传输状态(RS态),MR在外地网络加 入到组播组中直接获取组播数据。假设MR不传输组播数据的状态为空闲态,则 这三个状态之间的状态转换图如图4所示。 假设最初MR处于空闲态,若MR一直没有收到组播加入消息则一直处于空 闲态。当MR在家乡网络收到组播加入消息时,MR将进入RS态;当MR在外 地网络收到加入消息时,将进入MR-BT态。当MR进入BT态后,若没有收到 其他MR发送过来的组转发更新消息,则将一直处于BT态;若收到组转发更新 消息或者组播完成消息则进入空闲态;若MR在当前的位置直接加入到组播组, 则进入到RS态。当MR进入到RS态后,若其接入点没有发生变化则一直处于 该状态;若其接入点发生变化且其他MR都不在RS态则进入BT态;若MR收 到组播完成消息则进入空闲态。移动子网可能同时存在多个组播组,对于不同的 组播组,MR可能处于不同的状态。 MR上保存的数据库信息; 每个MR需要保存两个数据库:组成员信息库和组播转发信息库。 组成员信息库:汇集移动网络内部所有的组成员信息,用于记录该移动子网 内部存在的组播组的信息,其主要记录格式为(组播组地址,源地址列表,过滤 模式,组播状态)。该信息在MR之间传输更新。其中,前三项是为了确定一个 特定组播成员信息,而组播状态则记录目前该组播组是通过何种方式进行传输, 即对于该组播组MR所处的状态,其记录格式如表1组成员数据库的记录格式所 示。
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="330"/>表1 组播转发信息库:用于记录对于特定组播组的转发接口信息,其主要记录格 式为(组播地址,接口列表)。当MR收到某个组播组的数据后,根据该转发接 口信息转发组播数据,其记录格式如表2组播转发库记录格式所示。
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="342"/>表2 假设一个移动网络有两个移动路由器MR1和MR2,移动网络在家乡通过MR1 加入到某个组播组中,当移动网络移动到外地接入到AR1时,MR1将通过到HA 的双向隧道转发组播数据。当MR2接入到AR2后,MR2将从MR1处获取组播 信息并通过AR2加入到组播组中。当MR2获取到组播数据后,将从MR1处获 取组播转发信息更新该组播组的转发列表,直接转发组播数据给接收者。当MR2 的接入点发生变化后,将通过PCoA到NCoA之间的隧道转发组播数据。 各个实体之间的信息交互流程如图5所示: MR之间传输的两类消息和步骤: 1、MLD信息库交互消息; 作用:从另外一个MR处获取处于BT态的组播组信息;收到回复后,汇聚所 有BT态的组播组信息,并发起组播加入请求。 消息名称:MLD更新消息和MLD更新回复消息。 这一对消息执行的是组成员信息库的更新过程。MR采用类似于MLDxa0report 消息的格式记录MLD信息(如下表3所示),并封装在单播数据包里发给其它的 MR,该单播消息的目的地址为对端MR的地址。因为在同一个移动子网内部的 MR可以通过预先配置或通告消息获知其它MR的地址信息。对端MR收到该消 息后,将回复一个确认消息。 该消息的触发条件可以是周期性的时钟,也可以是直接收到RS方式的数据 包。
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="401"/>表3MLDv2xa0Report消息格式 2、组转发更新消息; 作用:改变指定组播组的组播状态,由BT态变为RS态。当MR收到其它 MR发送过来的组转发更新消息后,将终止从隧道转发该组播包。并返回一个回 复消息,并将该接口加入到另一个MR的对应的组播组的转发接口列表中。 消息名称:组转发更新消息和组转发回复消息。 这一对消息执行的是一个组转发信息库的更新过程。当MR利用RS方式直接加 入到某个组播组后,它将生成一个组转发更新消息,消息格式与组转发信息库的 记录格式一样,不过接口列表中的地址设置为发送该消息的本MR的一个回环地 址。该消息用IP包封装,目的地址为移动子网内的其它MR地址。对端MR收 到该消息后,回复一个确认消息。 组播隧道:(两种隧道) 1、正常的NEMO隧道; 当移动网络首次离开家乡链路到外地时,将构建的双向隧道,两端的地址分 别是HA的地址和MR的CoA,组播数据通过该隧道传输直到在外地网络构建组 播转发结构为止。 隧道的构建方法即为NEMO协议中规定的方法。 2、PCoA和NCoA之间的隧道; 移动网络在外地网络连续移动时将在MR的PCoA和NCoA之间构建隧道, 通过该隧道减少组播传输的丢包率。同时,若其它MR都不在RS态,则MR将 沿着该隧道传输组播数据。这种隧道是为了解决组播组在每个MR上都位于BT 态而构建的,当然也可通过NEMO基本支持协议所建立的隧道,但这就需要HA 要保留所有可能的组播状态,并且传输路径也比较远。这种隧道端点是MR的 PCoA和NCoA,由于PCoA到NCoA的距离在网络拓扑上比NEMO隧道短且存 在时间比较短,所以称之为短隧道。 这种隧道的建立方法可以参照快速移动IP的思想。MR将要移出前一个 AR(PAR)时,检测到新的AR(NAR)后迅速的发出快速绑带更新(FBU)消息给PAR 在PCoA和NCoA之间建立了一个隧道,这样PAR就可以将到达的数据由PCoA 发送给NCoA,这个隧道一直存在到它完成绑定更新。这个隧道传输的数据包括 普通的单播数据和组播数据。本方案将利用该隧道传输组播数据直到该组播组进 入RS态为止。为此,在快速移动IP的基础上,本方案对该隧道的使用期限进行 了条件限制,引入了新的触发机制删除隧道,即MR上所有的组播组进入RS态。 为此,当MR上所有传输的组播组都处于RS态时,将删除该隧道并从当前的 AR获取组播数据。 启用和停止隧道转发消息; 作用:处理外地网络不支持组播的情况,以保证组播的连续性。 两个MR的状态转换图; 通常在移动子网内部同时存在多个MR,假设存在两个MR,则这两个MR之 间的状态转换图如图6所示。对于同一个组播组,MR1和MR2交替在当前的位 置加入到组播组以实现以RS态传播组播数据。 两个MR的移动组播流程; 其详细的信息交互流程如图7所示: 对于移动网络加入的某一个组播组而言,假设最初是由MR1通过隧道传输组 播数据的,则该方案的工作流程如下所示: 1、MR2将不断的扫描新AP,接入到新的AR上; 2、接到新AR后,MR2会向MR1发送一个MLD更新消息,请求获取 MR1上状态为BT态的组播组信息; 3、MR1收到后,回复一个MLD更新回复消息,包含MR1上所有状态为 BT态的组播组信息; 4、MR2收到回复信息后,聚合其组成员信息库中的信息,然后向新AR 发起组播加入过程; 5、MR2获取到某一组播数据后,将向MR1发送组更新消息,若MR1收 到该消息则回复MR2组更新回复消息,并重定向接口到MR2;否则MR1 仍通过隧道传输组数据; 6、MR2在新AR上通过RS方式传输组数据,当同时开展两方面的工作, 一是监控其接入AR是否发生变化,若发生变化则通过PCoA-NCoA隧道 转发组播包,二是检查是否收到MLD更新消息和组更新消息; 7、MR1将扫描新的AR,执行同MR2相同的过程,由此一直循环执行。 本方案主要是针对IPv6进行了描述,本方案同样适用于在IPv4条件下的支 持多路由器移动网络组播。 缩略语和关键术语定义: AP:Accessxa0Point,接入点; AR:Accessxa0Router,接入路由器; ASM:Anyxa0Sourcexa0Multicast,任意源组播; BT:Bi-directionalxa0tunnel,双向隧道; CoA:Carexa0ofxa0Address,转交地址; FR:Fixedxa0Router,固定路由器; IGMP:Intemetxa0Groupxa0Membershipxa0Protocol,组成员管理协议; MANET:Mobilexa0Adxa0Hocxa0NETworking,移动Adxa0hoc网络; MLD:Multicastxa0Listenerxa0Discovery,组播侦听发现; MN:Mobilexa0Node,移动节点; MR:Mobilexa0Router,移动路由器; NEMO:NEtworkxa0MObility,子网移动; PAN:Personalxa0Areaxa0Network,个域网; RA:Routerxa0Advertisement,路由器通告; RS:Remotexa0Subs
cription,远程加入; RP:Rendezvousxa0Point,汇聚点; SSM:Sourcexa0Specifyxa0Multicast,特定源组播。